//============================================================================================
/**
 * @file	nuts_tag.h
 * @brief	木の実タグ画面処理
 * @author	Hiroyuki Nakamura
 * @date	06.01.25
 */
//============================================================================================
#ifndef NUTS_TAG_H
#define NUTS_TAG_H
#undef GLOBAL
#ifdef NUTS_TAG_H_GLOBAL
#define GLOBAL	/*	*/
#else
#define GLOBAL	extern
#endif


//============================================================================================
//	定数定義
//============================================================================================
typedef struct _NTAG_DATA	NTAG_DATA;

enum {
	TAG_OFF = 0,
	TAG_ON
};


//============================================================================================
//	グローバル変数
//============================================================================================


//============================================================================================
//	プロトタイプ宣言
//============================================================================================

//--------------------------------------------------------------------------------------------
/**
 * 木の実タグ画面のデータ領域確保
 *
 * @param	heap	ヒープＩＤ
 *
 * @return	確保した領域のアドレス
 */
//--------------------------------------------------------------------------------------------
GLOBAL NTAG_DATA * NutsTagSystemDataAlloc( u8 heap );
GLOBAL u32 NutsTagSystemDataSizeGet(void);


//--------------------------------------------------------------------------------------------
/**
 * 現在の表示位置取得
 *
 * @param	dat		データ設定場所
 *
 * @return	表示位置
 */
//--------------------------------------------------------------------------------------------
GLOBAL void TagPosGet( NTAG_DATA * dat, u8 * scr, u8 * cur );

//--------------------------------------------------------------------------------------------
/**
 * 木の実タグ画面の表示タグ設定
 *
 * @param	dat		データ設定場所
 * @param	item	アイテム番号
 * @param	flg		初期タグ設定フラグ
 *
 * @return	none
 *
 * @li	flg = TAG_ON : 最初に表示されるタグに設定
 */
//--------------------------------------------------------------------------------------------
GLOBAL void NutsTagPutDataSet( NTAG_DATA * dat, u16 item, u16 flg );

GLOBAL void NutsTagBagCursorSet( NTAG_DATA * dat, u8 scr, u8 cur, u8 max );

//--------------------------------------------------------------------------------------------
/**
 * プロセス関数：初期化
 *
 * @param	proc	プロセスデータ
 * @param	seq		シーケンス
 *
 * @return	処理状況
 */
//--------------------------------------------------------------------------------------------
GLOBAL PROC_RESULT NutsTagProc_Init( PROC * proc, int * seq );

//--------------------------------------------------------------------------------------------
/**
 * プロセス関数：メイン
 *
 * @param	proc	プロセスデータ
 * @param	seq		シーケンス
 *
 * @return	処理状況
 */
//--------------------------------------------------------------------------------------------
GLOBAL PROC_RESULT NutsTagProc_Main( PROC * proc, int * seq );

//--------------------------------------------------------------------------------------------
/**
 * プロセス関数：終了
 *
 * @param	proc	プロセスデータ
 * @param	seq		シーケンス
 *
 * @return	処理状況
 */
//--------------------------------------------------------------------------------------------
GLOBAL PROC_RESULT NutsTagProc_End( PROC * proc, int * seq );

//--------------------------------------------------------------------------------------------
/**
 * 木の実の絵のキャラのアーカイブインデックス取得
 *
 * @param	id		木の実番号
 *
 * @return	キャラのアーカイブインデックス
 */
//--------------------------------------------------------------------------------------------
GLOBAL u32 NutsCgxArcGet( u32 id );

//--------------------------------------------------------------------------------------------
/**
 * 木の実の絵のキャラのアーカイブインデックス取得（アイテム番号）
 *
 * @param	item	アイテム番号
 *
 * @return	キャラのアーカイブインデックス
 */
//--------------------------------------------------------------------------------------------
GLOBAL u32 NutsCgxArcGet_Item( u32 item );

//--------------------------------------------------------------------------------------------
/**
 * 木の実の絵のパレットのアーカイブインデックス取得
 *
 * @param	id		木の実番号
 *
 * @return	パレットのアーカイブインデックス
 */
//--------------------------------------------------------------------------------------------
GLOBAL u32 NutsPalArcGet( u32 id );

//--------------------------------------------------------------------------------------------
/**
 * 木の実の絵のパレットのアーカイブインデックス取得（アイテム番号）
 *
 * @param	item	アイテム番号
 *
 * @return	パレットのアーカイブインデックス
 */
//--------------------------------------------------------------------------------------------
GLOBAL u32 NutsPalArcGet_Item( u32 item );


#undef GLOBAL
#endif	/* NUTS_TAG_H */